package com.ruoyi.business.domain;

import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户券码对象 biz_people_coupon
 * 
 * @author ruoyi
 * @date 2024-06-19
 */
@Data
public class BizPeopleCoupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long tenantId;
    /** $column.columnComment */
    private Long userCouponId;

    /** 来源券码 */
    @Excel(name = "来源券码")
    private Long sourceId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long peopleId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String peopleName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long communityId;

    /** 社区 */
    @Excel(name = "社区")
    private String communityName;

    /** 优惠券标题 */
    @Excel(name = "优惠券标题")
    private String title;

    /** 券码 */
    @Excel(name = "券码")
    private String code;

    /** 类型 0:满减,1:打折券,2:兑换券 */
    @Excel(name = "类型 0:满减,1:打折券,2:兑换券")
    private Long couponType;

    /** 满多少金额 */
    @Excel(name = "满多少金额")
    private String amount;

    /** 减多少金额 */
    @Excel(name = "减多少金额")
    private String reduce;

    /** 打多少折 */
    @Excel(name = "打多少折")
    private String discount;

    /** 兑换物 */
    @Excel(name = "兑换物")
    private String exchangeItems;

    /** 券有效期: 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "券有效期: 开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime start;

    /** 券有效期：结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "券有效期：结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime end;

    /** 0：待使用，1：已使用 */
    @Excel(name = "0：待使用，1：已使用")
    private Long status;

    /** 核销码 */
    @Excel(name = "核销码")
    private String verificationCode;

    /** 核销门店 */
    @Excel(name = "核销门店")
    private String verificationStore;

    /** 核销时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime verificationTime;

    /** 兑换时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "兑换时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime receivedTime;

    /** 兑换消耗的积分 */
    @Excel(name = "兑换消耗的积分")
    private Long score;

    /** 券使用说明 */
    @Excel(name = "券使用说明")
    private String description;

    /** 可用时间段 */
    @Excel(name = "可用时间段")
    private String timeInteral;

    /** 可用门店 */
    @Excel(name = "可用门店")
    private String stores;

}
